package Main;

public class Parameters {

    //GUI
     public static String GUI_MainTitle;
    public static String GUI_TaskList_number;
    public static String GUI_TaskList_name;
    public static String GUI_TaskList_starttime;
    public static String GUI_TaskList_done;
    public static String GUI_TaskTabTitle;
    public static String GUI_ConsoleTabTitle;
    public static int GUI_Console_max_lines;
    public static String GUI_MenuFile;
    public static String GUI_MenuFile_Close;
    public static String GUI_MenuFile_Exit;
    public static String GUI_MenuEdit;
    public static String GUI_MenuEdit_TaskCreate;
    public static String GUI_MenuEdit_Parameters;
    public static String GUI_MenuInfo;
    public static String GUI_MenuInfo_About;
    public static String GUI_MenuInfo_Help;

    public static String GUI_ButtonInput;

    public static String GUI_TaskCreateFrame_Title;
    public static String GUI_TaskCreateFrame_TaskNameLabel;
    public static String GUI_TaskCreateFrame_PluginLabel;
    public static String GUI_TaskCreateFrame_ParameterLabel;
    public static String GUI_TaskCreateFrame_ParameterValueLabel;
    public static String GUI_TaskCreateFrame_GroupLabel;
    public static String GUI_TaskCreateFrame_GroupParameterLabel;
    public static String GUI_TaskCreateFrame_GroupParameterValueLabel;

    public static String GUI_TaskCreateFrame_AddParameterValueButton;
    public static String GUI_TaskCreateFrame_AddGroupButton;
    public static String GUI_TaskCreateFrame_AddGroupParameterButton;
    public static String GUI_TaskCreateFrame_TaskSaveButton;
    public static String GUI_TaskCreateFrame_TaskCheckButton;
    public static String GUI_TaskCreateFrame_ChangeSubtaskButton;
    public static String GUI_TaskCreateFrame_AddSubtaskButton;
    public static String GUI_TaskCreateFrame_RemoveSubtaskButton;
    public static String GUI_TaskCreateFrame_ChangeValueButton;
    public static String GUI_TaskCreateFrame_TaskStartUpLabel;
    public static String GUI_TaskCreateFrame_TaskPriorityLabel;
    public static String GUI_TaskCreateFrame_SubtaskPriorityLabel;
    public static String GUI_TaskCreateFrame_SubtaskTable;
    public static String GUI_TaskCreateFrame_SubtaskPriorityTable;

    public static String GUI_TaskCreateFrame_PluginsComboBox_ChoosePlugin;
    public static String GUI_TaskCreateFrame_ParametersComboBox_ChooseParameter;
    public static String GUI_TaskCreateFrame_GroupComboBox_ChooseGroup;
    public static String GUI_TaskCreateFrame_GroupParametersComboBox_ChooseParameter;



    public static String GUI_ExitAskFrame_Title;
    public static String GUI_ExitAskFrame_Message;
    public static String GUI_ExitAskFrame_NoButton;
    public static String GUI_ExitAskFrame_YesButton;


    public static String GUI_AboutFrame_Title;
    public static String GUI_AboutFrame_NameLabel;
    public static String GUI_AboutFrame_DescriptionLabel;
    public static String GUI_AboutFrame_VersionLabel;
    public static String GUI_AboutFrame_AuthorLabel;
    public static String GUI_AboutFrame_HomepageLabel;

    //general system settings:
    public static String PluginDirectory;
    public static String Language;
    public static String MainLogPath;
    public static int DeleteTaskWhenDone;
    public static int DeleteLogFileOfTask;
    public static String TaskFolder;
    public static String FileTaskExtension;
    public static int MoveDoneTask;
    public static String MoveDoneTaskTo;
    public static String MoveDoneTaskExtension;
    public static int MoveFailedTask;
    public static String MoveFailedTaskTo;
    public static String MoveFailedTaskExtension;
    public static int OldTaskPriorirty;
    public static int MaxTaskNumber;
    public static int QuitTime;
    public static boolean exit;
    public static boolean ExitTimerIsWorking;
    public static int FindTaskPause;
    //message parameters
    public static String[] message_parameter = new String[10];
    //System time
    public static String IDDSStartTime;
    public static String CurrentSystemTime;
    //task parameters:
    public static int DefaultTaskPriority;
    public static int DefaultSubtaskPriority;
    public static int TotalTasks;
    public static int TasksDone;
    public static String[] AdrOfDoneTasks;
    public static String[] taskAssignTime;
    public static String[] TaskName;
    public static int CurrentTaskNumber;
    public static boolean TaskFailed;
    //PRIVATE TASK PARAMETERS:
    public static String[][] Task_String_parameter; // String[type of parameter][number]
    public static String[][][] Task_Group_String_parameter; // String [number of group][type of parameter][number]
    //if OS is Windows
    public static boolean LounchedFromWindows;
    //if GUI is shown
    public static boolean GUIAvailable;

    /**
     * @param GUIAvailable        True if GUI runs
     * @param PluginDirectory     Folder with plugins
     * @param DefaultSubtaskPriority default subtask priority for subtasks than didn't contain priority field
     * @param TaskName            Names of all tasks
     * @param Task_String_parameter String[type of parameter][number] parameters
     * @param Task_Group_String_parameter String [number of group][type of parameter][number] parameters of group
     * @param IDDSStartTime       Time when system start it's working
     * @param TaskName            Addresses of tasks
     * @param FileTaskExtension   Extension of files with tasks
     * @param args                The command line arguments
     * @param MainLogPath         Path to main log
     * @param DeleteTaskWhenDone  if 1 - delete task file when done
     * @param DeleteLogFileOfTask if 1 - delete log file of task when done
     * @param TaskFolder          path to folder with task files
     * @param TotalTasks          total number of tasks
     * @param TasksDone           number of done tasks
     * @param DefaultTaskPriority default task priority for tasks than didn't contain priority field
     * @param CurrentSystemTime   current system time
     * @param MoveDoneTask    if 1 - move task file when done
     * @param MoveDoneTaskTo  folder where to move task file
     * @param MoveDoneTaskExtension Extension of done tasks
     * @param MoveFailedTask    if 1 - move failed task file
     * @param MoveFailedTaskTo  folder where to move task file
     * @param MoveFailedTaskExtension Extension of failed tasks
     * @param AdrOfDoneTasks      Adresses of tasks that had been done
     * @param taskAssignTime      time when task was added
     * @param CurrentTaskNumber   Number of current task
     * @param Language            Main system language
     * @param OldTaskPriority     if 0 - the most older task will run first; if 1 - the task with higher priority will run
     * @param MaxTaskNumber       Maximum tasks that can be but not more than 65536
     * @param QuitTime            if all tasks are done, program will shutdown after specified amount of seconds ("-1" - never)
     * @param exit               if true then program must end it's work and close
     * @param ExitTimerIsWorking if true then timer is working
     * @param FindTaskPause      pause in seconds between finding tasks after no task left
     * @param TaskFailed        if true - then task was failed
     * @param LounchedFromWindows - true if program was lounched from Windows OS
     */
    public Parameters() {//nothing to do
    }
}
